// utils/showErrorToast.ts
import { Toast } from 'vant';

let lastError = '';
let timer: ReturnType<typeof setTimeout> | null = null;

/**
 * 防重复弹窗的错误提示
 * @param message 错误信息
 * @param duration 冷却时间（毫秒），默认2000
 */
export function showErrorToast(message: string, duration = 2000) {
  if (message === lastError && timer) {
    // 相同错误且在冷却时间内，不再弹出
    return;
  }
  lastError = message;
  Toast.fail(message);

  // 设置冷却时间
  if (timer) clearTimeout(timer);
  timer = setTimeout(() => {
    lastError = '';
    timer = null;
  }, duration);
}